Skip to content

.NET Standard 2.0 へ移行し、描画ライブラリを選べる構成に変更 - #5

Merged
cssho merged 1 commit into
masterfrom
netstandard
Nov 5, 2026
Merged

cssho merged 1 commit into
masterfrom
netstandard

Conversation

@cssho

@cssho cssho commented Nov 5, 2026

Copy link
Copy Markdown
Owner

概要

.NET Framework 4.0 から .NET Standard 2.0 へ移行しました。描画ライブラリは、利用者が用途に合わせて選べる構成にしています。

構成

プロジェクト 依存 できること
ZipConvertCustomerBarCode なし BarCode.Create() でバーコード生成、GetBars() でバー配置を取得、ToSvg() で SVG 出力
ZipConvertCustomerBarCode.Drawing System.Drawing.Common ToBitmap() / Save()(Windows のみ)
ZipConvertCustomerBarCode.SkiaSharp SkiaSharp ToSKBitmap() / ToPng() / SavePng()(クロスプラットフォーム)

主な変更

  • シンボル画像(GIF と resx)を削除し、バー配置の表(BarPatternDic)に置き換えた。各シンボルは 2px 幅のバー 3 本の組み合わせで、21 種類すべてが元の GIF とピクセル単位で一致することを確認済み。
  • csproj を SDK 形式に変更し、sln を作り直した(旧 sln の x86 構成を削除)。
  • バージョンと著作権表示を Directory.Build.props に移し、バージョンを 2.0.0 にした。
  • LibExecuter を削除し、xUnit v3 のテストプロジェクトを追加した(global.json で Microsoft.Testing.Platform を指定)。
  • README(使い方、1.x からの移行表)と CLAUDE.md を更新した。

破壊的変更

  • BarCode.CreateImage と BarCode.Export を削除した。置き換え方は README の移行表に記載。
  • SkiaSharp 版を Linux で使う場合は、利用側で SkiaSharp.NativeAssets.Linux パッケージを追加する必要がある。

テスト

  • dotnet test で 85 件すべて成功。
  • 1.x の出力(20 件の住所のシンボル列と画像)を期待値として、System.Drawing 版・SkiaSharp 版ともにピクセル単位で一致することを確認。
  • バー配置の表をわざと壊すとテストが失敗することも確認済み。

既知の問題(このPRでは修正しない)

住所表示番号の 13 番目の枠にアルファベットが来ると、IndexOutOfRangeException で落ちる(例:A1B2C3D4E5F6G7)。1.x からある不具合で、このPRでは動きを変えていない。別のPRで対応する。

🤖 Generated with Claude Code

https://claude.ai/code/session_01HNb8H3ydQTR8dWU8d28osE

- コア(ZipConvertCustomerBarCode)を依存なしの netstandard2.0 に変更し、
  バー配置の取得(GetBars)と SVG 出力を追加
- System.Drawing 版(ZipConvertCustomerBarCode.Drawing)と
  SkiaSharp 版(ZipConvertCustomerBarCode.SkiaSharp)の描画パッケージを追加
- シンボル画像(GIF/resx)をバー配置の表に置き換え
- csproj を SDK 形式に変更し、sln を作り直し
- LibExecuter を削除し、xUnit のテストプロジェクトを追加
  (1.x の出力とシンボル列・画像がピクセル単位で一致することを確認)
- README と CLAUDE.md を更新

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HNb8H3ydQTR8dWU8d28osE
@cssho
cssho merged commit 55d576c into master Nov 5, 2026
@cssho
cssho deleted the netstandard branch November 5, 2026 12:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant